package com.erp.freight.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.web.oldDomain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 熊迪库存记录业务对象 kjx_store_product_record
 *
 * @author erp
 * @date 2024-04-07
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class KjxStoreProductRecordBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;
    
    private Integer type;
    private String account;

    /**
     * 商品编码
     */
    @NotBlank(message = "商品编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String skuCode;

    /**
     * 数量
     */
    @NotNull(message = "数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer count;

    /**
     * 国内运单号
     */
    @NotBlank(message = "国内运单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String waybillNumber;

    /**
     * 仓库
     */
    @NotNull(message = "仓库不能为空", groups = { AddGroup.class, EditGroup.class })
    private String warehouseId;

    /**
     * 时间
     */
    @NotNull(message = "时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date addTime;

    /**
     * 库存id
     */
    @NotBlank(message = "库存id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String logisticsNo;

    /**
     * 采购凭证
     */
    @NotBlank(message = "采购凭证不能为空", groups = { AddGroup.class, EditGroup.class })
    private String proof;

    /**
     * 采购价格
     */
    @NotNull(message = "采购价格不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal price;

    /**
     * 乐观锁
     */
    @NotBlank(message = "乐观锁不能为空", groups = { AddGroup.class, EditGroup.class })
    private String revision;


}
